// 系统设置

const { powerSaveBlocker } = require('electron')
let id = -1 // 电源拦截器id
/**
 * 保持系统活跃
 */
function saveBlocker() {
  /**
   * 1. 阻止应用被暂停，保持系统活动状态，但允许屏幕关闭(下载文件/播放视频)
   * @param "prevent-app-suspension" 
   * 2. 防止显示器进入休眠模式，保持系统和屏幕的活跃性
   * @param "prevent-display-sleep"
   * 
   * @returns 指派给电源拦截器的id
   */
  if (id !== -1 && powerSaveBlocker.isStarted(id)) return
  id = powerSaveBlocker.start('prevent-display-sleep')
}

/**
 * 停止系统活跃
 */
function stopSystemActive() {
  // 如果对应id的 powerSaveBlocker 存在
  if (id !== -1 && powerSaveBlocker.isStarted(id)) {
    // 停止指定的省电拦截器
    const isStop = powerSaveBlocker.stop(id)
    if (isStop) {
      id = -1
    }
  }
}

module.exports = {
  saveBlocker,
  stopSystemActive
}
